/**
 * 文件名：BusinessException.java
 * 功能：业务异常类
 * 作用：封装业务逻辑层主动抛出的异常，携带自定义错误码和错误消息
 * 模块关系：
 *   - 被 Service 层抛出：如 AuthService 中的登录失败、注册失败等
 *   - 被 GlobalExceptionHandler 捕获：转换为统一的 ApiResponse 格式返回
 *   - 继承 RuntimeException：不需要强制捕获，由全局异常处理器统一处理
 * 作者：白永康
 * 学号：2501210209
 */
package com.example.demo.common;

/**
 * 业务异常类
 * 用于业务逻辑错误的主动抛出，会被全局异常处理器捕获并返回给前端
 */
public class BusinessException extends RuntimeException {
    /** 业务错误码 */
    private final int code;
    
    /**
     * 构造函数
     * @param code 错误码（如 400, 401, 404 等）
     * @param message 错误消息
     */
    public BusinessException(int code, String message) { 
        super(message); 
        this.code = code; 
    }
    
    /**
     * 获取错误码
     * @return 错误码
     */
    public int getCode() { 
        return code; 
    }
}
